/*
Automatic clinic tests using a robot arm.
Copyright (C) 2010  CIC-CPC, CHU Gabriel Montpied
All other trademarks, logos and copyrights are the property
of their respective owners.

This file is part of cpc-painbot.

cpc-painbot is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

cpc-painbot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with cpc-painbot.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef BRASGRAPHIQUE_H
#define BRASGRAPHIQUE_H

#include <QGraphicsItemGroup>

#include "Widgets_global.h"

class PositionBras;

/*! Représentation visuelle du bras.
    le BrasGraphique est une représentation visuelle et interactive de la
    position du bras.
*/
class WIDGETSSHARED_EXPORT BrasGraphique : public QGraphicsItemGroup
{
public:
    //! Constructeur.
    BrasGraphique(QGraphicsItem *parent = 0);

    /*! Met à jour la position du bras.
        \param[in] pos La nouvelle position.
    */
    void majPosition(const PositionBras &pos);

protected:
    QGraphicsRectItem * bras_;      //!< Bras (épaule à coude).
    QGraphicsRectItem *avantbras_;  //!< Avant-bras (coude à tête).
    QGraphicsEllipseItem * tete_;   //!< Tête du bras.
    QGraphicsLineItem * direction_; //!< Direction de la tête.
};
#endif // BRASGRAPHIQUE_H
